'''
psutil模块
监控  提供了很多获取主机的
作用：获取系统运行状态的数据
'''
import psutil

# -------------获取cpu相关的数据
print(psutil.cpu_count()) #CPU数量
print(psutil.cpu_percent()) #机器当前的使用率
print(psutil.cpu_times())  #用户进程占用状态、系统进程占用、
print(psutil.cpu_times().user)
print(psutil.cpu_stats()) #每秒产生的上下文切换数、硬终端数量、软中断数量、

# ---------------获取内存的数据
print(psutil.virtual_memory())
print(psutil.swap_memory())  #虚拟内存 ：交换分区

# -------------获取硬盘
print(psutil.disk_usage(path="D:"))
print(psutil.disk_io_counters())#磁盘IO
print(psutil.disk_partitions()) #磁盘分区信息

# ------------------网卡相关的数据

print(psutil.net_if_addrs())   #IP
print(psutil.net_io_counters())  #
print(psutil.net_if_stats())
print(psutil.net_connections())

# --------------------进程相关的

print(psutil.pids())
print(len(psutil.pids()))
# --获取进程具体的数据----
p1 = psutil.Process(15820)
print(p1.name())
print(p1.ppid())
print(p1.username())
print(p1.children())

# 获取系统的启动时间
boot_time = psutil.boot_time()
print(boot_time)        # 时间戳  秒  从1970年1月1日0点经过了多少秒  UNIX操作系统的诞生
import datetime
print(datetime.datetime.fromtimestamp(boot_time))